package avicit.bdp.dcs.utils;


/**
 * @金航数码科技有限责任公司
 * @作者：liyb
 * @邮箱：liyb@avic-digital.com
 * @创建时间： 2020-12-26 10:36
 * @类说明：
 * @修改记录：
 */
public enum DcsErrorCode implements ErrorCode {

    // job
    UNSUPPORTED_JOB_TYPE("DcsErrorCode-01", "不支持当前作业类型:"),
    JOB_NULL("DcsErrorCode-02", "没有查到数据，请确保jobId:%s的作业是否存在"),
    SRC_AND_DST_DATASOURCE_SAME("DcsErrorCode-03", "源数据源和目标数据源连接信息相同,请更换数据源"),
    JOB_NOT_START("DcsErrorCode-04", "当前任务状态是:%s，不能启动"),
    JOB_START_FAIL("DcsErrorCode-05", "作业启动失败"),

    // task
    TASK_NULL("DcsErrorCode-06", "没有查到数据，请确保taskId:%s的任务是否存在"),
    TASK_NOT_CONFIG_COLUMN_MAPPING("DcsErrorCode-07", "源表:%s未配置列映射关系"),

    // db
    UNSUPPORTED_DB_TYPE("DcsErrorCode-08", "不支持的数据源类型:%s"),
    DST_DB_EXIST_SAME_TABLE("DcsErrorCode-09", "目标数据源:%s中,已经存在相同表:%s"),
    COLUMN_NAME_CHECK("DcsErrorCode-10", "目标表列名:%s不合法，必须以字母开头，且只能包含字母数字下划线，长度不超过50个字符"),
    TABLE_NAME_CHECK("DcsErrorCode-11", "目标表名:%s不合法，必须以字母开头，且只能包含字母数字下划线，长度不超过50个字符");

    private final String code;

    private final String desc;

    private DcsErrorCode(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    @Override
    public String getCode() {
        return this.code;
    }

    @Override
    public String getDesc() {
        return this.desc;
    }

    @Override
    public String toString() {
        return String.format("Code:[%s], Description:[%s]. ", this.code, this.desc);
    }

}
